Classboxes: Supporting Unanticipated Variation Points in the Source Code

نویسندگان

  • Alexandre Bergel
  • Claus Lewerentz
  • Liam O’Brien
چکیده

Software product lines refer to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets in a controlled way. Managing variability is the key issue of software product line practice. Modelling variation points is largely addressed by a selection of linguistic constructs and modelling techniques (e.g., design pattern, macro, configuration files). New constraints and industrial requirements often result in the emergence of new variation points. The success of the evolution of a product line depends on its capability to absorb unanticipated variation points. This paper presents the classboxes programming construct to support unanticipated variation point in the software source code. Classboxes offer a visibility mechanism that controls the scope of an evolution step and limits it only to the part of a program that needs to be affected by this evolution. Benefits of classboxes are illustrated on an arcade game maker product line.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Supporting Unanticipated Changes with Traits and Classboxes

On the one hand, traits are a powerful way of structuring classes. Traits support the reuse of method collections over several classes. However, traits cannot be used when specifying unanticipated changes to an application. On the other hand, classboxes are a new module system that supports the local redefinition of classes: a collection of classes can be locally extended with variables and/or ...

متن کامل

Classboxes: A Minimal Module Model Supporting Local Rebinding

Classical module systems support well the modular development of applications but do not offer the ability to add or replace a method in a class that is not defined in that module. On the other hand, languages that support method addition and replacement do not provide a modular view of applications, and their changes have a global impact. The result is a gap between module systems for object-o...

متن کامل

Adding 166Ho data to VARSKIN2 code and dose calculation to human skin

Background: Skin cancer can be treated by various methods. Electron radiotherapy has been a useful therapeutic modality in the treatment of skin cancers in areas which are difficult to cure by other methods. Depth dose distribution of 166Ho using VARSKIN2 code is presented in this work. Material and Methods: Depth dose distribution of 166Ho was calculated, using VARSKIN2 code by adding...

متن کامل

Impact of Unanticipated software evolution on development cost and quality: an empirical evaluation

Most techniques to aid maintenance and evolution of software require to define extension points. Generally, developers try to anticipate the parts that are more likely to evolve, but they can make mistakes and spend money in vain. With Unanticipated Software Evolution, developers can easily change any element of the software, even those that are not related with an extension point. However, we ...

متن کامل

Dynamic Object Replacement and Implementation-Only Classes

GILGUL is an extension of the Java programming language that allows for dynamic object replacement without consistency problems. This is possible in a semantically clean way, because its model strictly separates the notions of reference and comparison that usually are subsumed in the concept of object identity. Since GILGUL’s new operations respect Java’s type system, objects still can be repla...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007